
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/// <summary>
/// Spezialisierung von Verkaufsware 
/// </summary>
class Speise : Verkaufsware
{
    /// <summary>
    /// Liste der Zutaten.
    /// </summary>
    private List<string> zutaten;

    // Konstruktorverkettung in C# mit 'base()'
    public Speise(string bezeichnung, double preis, params string[] zutaten) : base(bezeichnung, preis)
    {
        this.zutaten = zutaten.ToList();
    }

    /// <returns>
    /// Gibt einen String mit den Daten der Basisklasse plus zusätzlich den Zutaten zurück.
    /// </returns>
    public override string ToString()
    {
        // Mit dem StringBuilder können bequem Strings zusammengebaut werden:
        StringBuilder builder = new StringBuilder();
        builder.AppendLine(base.ToString()); // Die Informationen der Basisklasse.
        builder.Append("Zutaten:\n");
        foreach (string s in zutaten)
        {
            builder.AppendLine(s); // Zutaten der Zutatenliste dem String hinzufügen.
        }

        return builder.ToString();
    }
}
